Providing relevant non-requested content to a mobile device

ABSTRACT

A system and method are directed towards providing non-requested content to a mobile terminal based on characteristics of, and tracked usage of the mobile terminal to request content through an online portal service, which provides access to content in multiple subject areas. A mobile user profile is created from the characteristics and patterns of the tracked usage. The tracked usage information includes the time, location, frequency at which the content was requested. Based on the mobile user profile information, content related to previously requested content is provided to the mobile terminal upon a trigger that is related to the requested content. The trigger event may include the mobile terminal returning to a location from which certain content was previously requested. The non-requested content may further be based on a related general user profile that indicates usage of an alternate electronic device to access content through the portal.

RELATED APPLICATION

This utility patent application claims the benefit of U.S. ProvisionalPatent Application Ser. No. 60/688,122, filed on Jun. 7, 2005. Thebenefit of the earlier filing date is hereby claimed under 35 U.S.C.119(e).

FIELD OF THE INVENTION

The present invention relates generally to mobile communications, andmore particularly, but not exclusively, to providing non-requestedcontent to mobile terminals.

BACKGROUND OF THE INVENTION

A large number of people use mobile terminals, such as cellular phones,personal digital assistants (PDAs), and the like for a wide variety ofpurposes. In addition to using them for personal communication, manyusers access text, audio, visual, and other content via wireless and/orwired networks. Access to some content can be somewhat difficult as aresult of limitations of the mobile terminals, communication bandwidth,and/or other factors. It is also sometimes difficult and time consumingto access content that is most relevant to a particular user withoutfirst wading through less relevant content.

BRIEF DESCRIPTION OF THE DRAWINGS

Non-limiting and non-exhaustive embodiments of the present invention aredescribed with reference to the following drawings. In the drawings,like reference numerals refer to like parts throughout the variousfigures unless otherwise specified.

For a better understanding of the present invention, reference will bemade to the following Detailed Description of the Invention, which is tobe read in association with the accompanying drawings, wherein:

FIG. 1 shows a functional block diagram illustrating one embodiment ofan environment for practicing the invention;

FIG. 2 shows one embodiment of a mobile terminal device that may beincluded in a system implementing the invention; and

FIG. 3 shows one embodiment of a server device that may be included in asystem implementing the invention;

FIG. 4 illustrates a sample architecture 100 for use in one embodimentof the invention;

FIG. 5 illustrates logic of one embodiment for producing a mobile userprofile;

FIG. 6 illustrates logic of one embodiment for prefetching content basedon the mobile user profile; and

FIG. 7 is a flow diagram illustrating exemplary logic for providingnon-requested information to the mobile user.

DETAILED DESCRIPTION OF THE INVENTION

The present invention now will be described more fully hereinafter withreference to the accompanying drawings, which form a part hereof, andwhich show, by way of illustration, specific exemplary embodiments bywhich the invention may be practiced. This invention may, however, beembodied in many different forms and should not be construed as limitedto the embodiments set forth herein; rather, these embodiments areprovided so that this disclosure will be thorough and complete, and willfully convey the scope of the invention to those skilled in the art.Among other things, the present invention may be embodied as methods ordevices. Accordingly, the present invention may take the form of anentirely software embodiment, an entirely hardware embodiment or anembodiment combining software and hardware aspects. The followingdetailed description is, therefore, not to be taken in a limiting sense.Briefly stated, the present invention is directed towards providingnon-requested content to a mobile device.

Illustrative Operating Environment

FIG. 1 illustrates one embodiment of an environment in which the presentinvention may operate. However, not all of these components may berequired to practice the invention, and variations in the arrangementand type of the components may be made without departing from the spiritor scope of the invention.

As shown in the figure, a system 10 includes client devices 12-14, anetwork 15, and a server 16. Network 15 is in communication with andenables communication between each of client devices 12-14, and server16.

Client devices 12-14 may include virtually any computing device capableof receiving and sending a message over a network, such as network 15,to and from another computing device, such as server 16, each other, andthe like. The set of such devices described in an exemplary embodimentbelow generally includes mobile terminals that are usually consideredmore specialized devices with limited capabilities and typically connectusing a wireless communications medium such as cell phones, smartphones, pagers, walkie talkies, radio frequency (RF) devices, infrared(IR) devices, CBs, integrated devices combining one or more of thepreceding devices, or virtually any mobile device, and the like.However, the set of such devices may also include devices that areusually considered more general purpose devices and typically connectusing a wired communications medium at one or more fixed location suchas laptop computers, personal computers, multiprocessor systems,microprocessor-based or programmable consumer electronics, network PCs,and the like. Similarly, client devices 12-14 may be any device that iscapable of connecting using a wired or wireless communication mediumsuch as a personal digital assistant (PDA), POCKET PC, wearablecomputer, and any other device that is equipped to communicate over awired and/or wireless communication medium.

Each client device within client devices 12-14 includes a user interfacethat enables a user to control settings, and to instruct the clientdevice to perform operations. Each client device also includes acommunication interface that enables the client device to send andreceive messages from another computing device employing the same or adifferent communication means, including, but not limited to SMS, MMS,IM, internet relay chat (IRC), Mardam-Bey's internet relay chat (mIRC),Jabber, email, and the like. Client devices 12-14 may be furtherconfigured with a browser application that is configured to receive andto send markup pages, web-based messages, and the like. The browserapplication may be configured to receive and display graphics, text,multimedia, and the like, employing virtually any markup based language,including, but not limited to a Handheld Device Markup Language (HDML),such as Wireless Markup Language (WML), WMLScript, JavaScript, and thelike, Standard Generalized Markup Language (SGML), HyperText MarkupLanguage (HTML), Extensible Markup Language (XML).

Network 15 is configured to couple one computing device to anothercomputing device to enable them to communicate. Network 15 is enabled toemploy any form of medium for communicating information from oneelectronic device to another. Also, network 15 may include a wirelessinterface, such as a cellular network interface, and/or a wiredinterface, such as the Internet, in addition to local area networks(LANs), wide area networks (WANs), direct connections, such as through auniversal serial bus (USB) port, other forms of computer-readable media,or any combination thereof. On an interconnected set of LANs, includingthose based on differing architectures and protocols, a router acts as alink between LANs, enabling messages to be sent from one to another.Also, communication links within LANs typically include twisted wirepair or coaxial cable, while communication links between networks mayutilize cellular telephone signals over air, analog telephone lines,full or fractional dedicated digital lines including T1, T2, T3, and T4,Integrated Services Digital Networks (ISDNs), Digital Subscriber Lines(DSLs), wireless links including satellite links, or othercommunications links known to those skilled in the art. Furthermore,remote computers and other related electronic devices could be remotelyconnected to either LANs or WANs via a modem and temporary telephonelink. In essence, network 15 includes any communication method by whichinformation may travel between client devices 12-14, and server 16.Network 15 is constructed for use with various communication protocolsincluding wireless application protocol (WAP), transmission controlprotocol/internet protocol (TCP/IP), code division multiple access(CDMA), global system for mobile communications (GSM), and the like.

The media used to transmit information in communication links asdescribed above generally includes any media that can be accessed by acomputing device. Computer-readable media may include computer storagemedia, wired and wireless communication media, or any combinationthereof. Additionally, computer-readable media typically embodiescomputer-readable instructions, data structures, program modules, orother data in a modulated data signal such as a carrier wave, datasignal, or other transport mechanism and includes any informationdelivery media. The terms “modulated data signal,” and “carrier-wavesignal” includes a signal that has one or more of its characteristicsset or changed in such a manner as to encode information, instructions,data, and the like, in the signal. By way of example, communicationmedia includes wireless media such as acoustic, RF, infrared, and otherwireless media, and wired media such as twisted pair, coaxial cable,fiber optics, wave guides, and other wired media.

FIG. 2 shows an exemplary mobile terminal 20, according to oneembodiment of the invention. In one embodiment, mobile terminal 20 is acellular telephone that is arranged to send and receive voicecommunications and messages such as SMS messages via one or morewireless communication interfaces. Generally, mobile terminal 20 maycomprise any personally mobile electronic device. Oftentimes, mobileelectronic devices will be capable of personal communication byconnecting to one or more wireless networks, connecting to multiplenodes of a single wireless network, communicating over one or morechannels to one or more networks, or otherwise engaging in one or morecommunication sessions. Such devices include cellular telephones, smartphones, pagers, radio frequency (RF) devices, infrared (IR) devices,integrated devices combining one or more of the preceding devices, andthe like. Mobile terminal 50 may also comprise other electronic devicesthat such as Personal Digital Assistants (PDAs), handheld computers,personal computers, multiprocessor systems, microprocessor-based orprogrammable consumer electronics, network PCs, wearable computers, andthe like.

Mobile terminal 20 may include many more components than those shown inFIG. 2. However, the components shown are sufficient to disclose anillustrative embodiment for practicing the present invention. As shownin the figure, mobile terminal 20 includes a processing unit 22 incommunication with a mass memory 30 via a bus 24.

Mass memory 30 includes a RAM 32, a ROM 34, and other storage means.Mass memory 30 illustrates another example of computer storage media forstorage of information such as computer readable instructions, datastructures, program modules or other data. Mass memory 30 stores a basicinput/output system (“BIOS”) 40 for controlling low-level operation ofmobile terminal 20. The mass memory also stores an operating system 41for controlling the operation of mobile terminal 20. It will beappreciated that this component may include a general purpose operatingsystem such as a version of UNIX, or LINUX™, or a specialized mobilecommunication operating system such as Windows Mobile™, or the Symbian®operating system. The operating system may include, or interface with aJava virtual machine module that enables control of hardware componentsand/or operating system operations via Java application programs.

Memory 30 further includes one or more data storage units 42, which canbe utilized by mobile terminal 20 to store, among other things, programs44 and/or other data. Programs 44 may include computer executableinstructions which, when executed by mobile terminal 20, transmit,receive, and/or otherwise process messages (e.g., SMS, MMS, IM, email,and/or other messages), audio, video, and enable telecommunication withanother user of another mobile device. Other examples of applicationprograms include calendars, contact managers, task managers,transcoders, database programs, word processing programs, spreadsheetprograms, games, and so forth. In addition, mass memory 30 stores abrowser program 46. Browser 46 may include computer executableinstructions, which may be run under control of operating system 41 toenable and manage requesting, receiving, and rendering markup pages suchas WAP pages (sometimes referred to as WAP cards), and the like.

Mobile terminal 20 also includes a power supply 26, one or more wirelessinterfaces 50, an audio interface 52, a display 54, a keypad 56, anilluminator 58, an input/output interface 60, a haptic interface 62, andan optional global positioning systems (GPS) receiver 64. Power supply26 provides power to mobile terminal 20. A rechargeable ornon-rechargeable battery may be used to provide power. The power mayalso be provided by an external power source, such as an AC adapter or apowered docking cradle that supplements and/or recharges a battery.

Mobile terminal 20 may optionally communicate with a base station (notshown), or directly with another mobile device. Wireless interface 50includes circuitry for coupling mobile terminal 20 to one or morewireless networks, and is constructed for use with one or morecommunication protocols and technologies including, but not limited to,global system for mobile communication (GSM), code division multipleaccess (CDMA), time division multiple access (TDMA), user datagramprotocol (UDP), transmission control protocol/Internet protocol(TCP/IP), SMS, general packet radio service (GPRS), WAP, ultra wide band(UWB), IEEE 802.16 Worldwide Interoperability for Microwave Access(WiMax), and the like.

Audio interface 52 is arranged to produce and receive audio signals suchas the sound of a human voice. For example, audio interface 52 may becoupled to a speaker and microphone (not shown) to enabletelecommunication with others and/or generate an audio acknowledgementfor some action. Display 54 may be a liquid crystal display (LCD), gasplasma, light emitting diode (LED), or any other type of display usedwith a mobile device. Display 54 may also include a touch sensitivescreen arranged to receive input from an object such as a stylus or adigit from a human hand.

Keypad 56 may comprise any input device arranged to receive input from auser. For example, keypad 56 may include a push button numeric dial, ora keyboard. Keypad 56 may also include command buttons that areassociated with selecting and sending images. Illuminator 58 may providea status indication and/or provide light. Illuminator 58 may remainactive for specific periods of time or in response to events. Forexample, when illuminator 58 is active, it may backlight the buttons onkeypad 56 and stay on while the mobile device is powered. Also,illuminator 58 may backlight these buttons in various patterns whenparticular actions are performed, such as dialing another mobile device.Illuminator 58 may also cause light sources positioned within atransparent or translucent case of the mobile device to illuminate inresponse to actions.

Mobile terminal 20 also comprises input/output interface 60 forcommunicating with external devices, such as a headset, or other inputor output devices not shown in FIG. 2. Input/output interface 60 canutilize one or more communication technologies, such as USB, infrared,Bluetooth™, and the like. Haptic interface 62 is arranged to providetactile feedback to a user of the mobile terminal. For example, thehaptic interface may be employed to vibrate mobile terminal 50 in aparticular way when another user of a mobile device is calling.

Optional GPS transceiver 64 can determine the physical coordinates ofmobile terminal 20 on the surface of the Earth, which typically outputsa location as latitude and longitude values. GPS transceiver 64 can alsoemploy other geo-positioning mechanisms, including, but not limited to,triangulation, assisted GPS (AGPS), E-OTD, CI, SAI, ETA, BSS and thelike, to further determine the physical location of mobile terminal 20on the surface of the Earth. It is understood that under differentconditions, GPS transceiver 64 can determine a physical location withinmillimeters for mobile terminal 20; and in other cases, the determinedphysical location may be less precise, such as within a meter orsignificantly greater distances.

Mobile terminal 20 may communicate with a server to request and receivemarkup pages and/or for other services. One embodiment of a generalpurpose server computing device, such as a server device 70, isdescribed in more detail below in conjunction with FIG. 3. Briefly,server device 70 may include any computing device capable of connectingto network 15 to receive and provide services and information to clientdevices and/or other computing devices. Server device 70 may includemany more components than those shown. The components shown, however,are sufficient to disclose an illustrative embodiment for practicing theinvention. Many of the components of server device 70 may also beduplicated in a higher capability client device that a mobile use mayuse for browsing web pages and/or other computing activities, inaddition to using the mobile terminal.

As shown in the figure, server device 70 includes a processing unit 72in communication with a mass memory 74 via a bus 73. Mass memory 74generally includes a RAM 76, a ROM 78, and other storage means. Massmemory 74 illustrates a type of computer-readable media, namely computerstorage media. Computer storage media may include volatile andnonvolatile, removable and non-removable media implemented in any methodor technology for storage of information such as computer readableinstructions, data structures, program modules or other data. Otherexamples of computer storage media include EEPROM, flash memory or othersemiconductor memory technology, CD-ROM, digital versatile disks (DVD)or other optical storage, magnetic cassettes, magnetic tape, magneticdisk storage or other magnetic storage devices, or any other mediumwhich can be used to store the desired information and which can beaccessed by a computing device.

Mass memory 74 stores a basic input/output system (“BIOS”) 80 forcontrolling low-level operation of server device 70. The mass memoryalso stores an operating system 81 for controlling the operation ofserver device 70. It will be appreciated that this component may includea general purpose operating system such as a version of Windows™, UNIX,LINUX™, Solaris™, or the like. The operating system may also include, orinterface with a Java virtual machine module that enables control ofhardware components and/or operating system operations via Javaapplication programs.

Mass memory 74 further includes one or more data storage units 82, whichcan be utilized by server device 70 to store, among other things,programs 84 and/or other data. Programs 84 may include computerexecutable instructions which can be executed by server device 70 toimplement a markup handler application, such as a WAP handlerapplication for transmitting, receiving, and otherwise processing WAPcommunications, an HTTP handler application for transmitting, receiving,and otherwise processing HTTP communications, and the like. Similarly,programs 84 can include a secure socket layer (SSL) handler applicationfor handling secure connections, such as initiating communication withan external application in a secure fashion. Other examples ofapplication programs include messaging applications, schedulers,calendars, web services, transcoders, database programs, word processingprograms, spreadsheet programs, and so forth. Accordingly, programs 84can process markup pages, audio, video, enable telecommunication withanother user of another electronic device, and other services.

In addition, mass memory 74 stores a profiling module 86 and aprefetching module 88. Profiling module 86 may include computerexecutable instructions, which may be run under control of operatingsystem 81 to enable collection and analysis of usage information.Similarly, server device 70 can include a prefetching module 88, whichmay further access and buffer information that may be of interest to theusers of client devices.

Server device 70 also includes an input/output interface 90 forcommunicating with input/output devices such as a keyboard, mouse,wheel, joy stick, rocker switches, keypad, printer, scanner, and/orother input devices not specifically shown in FIG. 3. A user of serverdevice 70 can use input/output devices to interact with a user interfacethat may be separate or integrated with operating system 81, programs84, and/or other modules. Interaction with the user interface includesvisual interaction via a display, and a video display adapter 92.

Server device 70 may include a removable media drive 94 and/or apermanent media drive 96 for computer-readable storage media. Removablemedia drive 94 can comprise one or more of an optical disc drive, afloppy disk drive, and/or a tape drive. Permanent or removable storagemedia may include volatile, nonvolatile, removable, and non-removablemedia implemented in any method or technology for storage ofinformation, such as computer readable instructions, data structures,program modules, or other data. Examples of computer storage mediainclude a CD-ROM 99, digital versatile disks (DVD) or other opticalstorage, magnetic cassettes, magnetic tape, magnetic disk storage orother magnetic storage devices, RAM, ROM, EEPROM, flash memory or othermemory technology, or any other medium which can be used to store thedesired information and which can be accessed by a computing device.

Via a network communication interface unit 98, server device 70 cancommunicate with a wide area network such as the Internet, a local areanetwork, a wired telephone network, a cellular telephone network, orsome other communications network, such as network 15 in FIG. 1. Networkcommunication interface unit 98 is sometimes known as a transceiver,transceiving device, network interface card (NIC), and the like.

Illustrative Architecture

FIG. 4 illustrates a sample architecture 100 for use in one embodimentof the invention. This embodiment is described in terms of a mobileterminal browser 104 (and/or other mobile client) communicating with oneor more portal services 110 that maintain one or more user profiles andprovide portal services, although the invention is not so limited.Portal service 110 will generally provide an aggregate source for a widevariety of content subjects such as news, economic information andservices, messaging services, online search services, entertainmentservices, social interaction services, and the like. A higher orderclient such as a PC browser 102 (and/or other PC client) may alsocommunicate with portal 110 and/or another portal in communication withportal 110. PC browser 102 may communicate through a PC communicationinterface 112 that may be part of, or coupled to portal 110. PCcommunication interface 112 may assist in accessing web pages and/orother content from one or more content sources 118, which may be partof, or accessible by portal 110. PC communication interface 112 may alsointeract with a portal profiling module 114, which tracks and evaluatesa user's browsing actions to develop a general user profile. Generaluser profiles may be stored in a general users profile database 116.

Similarly, mobile terminal browser 104 may communicate through a mobilecommunication interface 120 that may be part of, or coupled to portal110. Mobile communication interface 120 may assist in accessing WAPpages and/or other content from one or more content sources 118. Mobilecommunication interface 120 interacts with a mobile profiling module122, which tracks and evaluates a mobile user's browsing actions on amobile terminal to develop a mobile user profile. Mobile user profilesmay be stored in a mobile users profile database 124.

A prefetching module 126 also accesses mobile users profile database 124to determine and cache content from content sources 118 that a mobileuser may soon desire, based on characteristics of the mobile terminal,the mobile user's past browsing actions, the user's correspondinggeneral user profile, and/or other information. Prefetching module 126may also use the mobile user profile and/or the user's general userprofile stored in general users profile database 116 to help determinecontent that the mobile user may soon desire. Prefetched content may becached by portal 110, by a network carrier, by the user's mobileterminal, and/or other service.

Illustrative Processes

FIG. 5 illustrates logic of one embodiment for producing a mobile userprofile. When a mobile terminal initially communicates with the portalservice, the service establishes a mobile user profile, at an operation130. Communication with the mobile terminal provides some basicinformation to the portal server, including a device model number, acarrier identifier, a mobile identification number (MIN), and the like.The MIN is often a telephone number, a Mobile Subscriber IntegratedServices Digital Network (MS-ISDN), an electronic serial number (ESN),or other mobile terminal identifier. The portal service uses the basicinformation to access other information regarding the mobile terminalfrom the mobile terminal manufacturer, distributor, trade group, and/orother sources.

The mobile user profile can be based on a standardized user agentprofile, such as that defined by the User Agent Profile Specificationavailable from the Wireless Application Protocol Forum, Ltd.(www.wapforum.org). Another example of obtaining information about amobile terminal includes using Composite Capability/Preference Profiles(CC/PP), defined by the World Wide Web Consortium (www.w3c.org). Furtherexamples of profiles describing mobile terminal capabilities include amobile information device profile (MIDP), a wireless universal resourcefile (WURFL), and the like. A user agent profile or other standardizedprofile generally includes attributes of the mobile terminal, such as ascreen size, a screen resolution, a memory size, and the like. A sampleuser agent profile is provided in Appendix A. The server can use a useragent profile or other standardized profile to start a mobile userprofile, which is then modified with alternate and/or additionalinformation.

For example, the portal service may initially modify the mobile userprofile to add information about capabilities, services, contractualagreements, and/or limitations of the mobile user's carrier and/orservice plan. For instance, the portal service may use outside sourcesor out-band-communications to determine that the user's carrier offersonline photo management to subscribers of certain service plans. If theportal service determines that the mobile user subscribes to one ofthose certain plans, that information can be stored in the mobile userprofile.

At an optional operation 132, the server can associate the mobile userprofile with a general user profile that the user may already haveestablished with the portal service. The user may already have a portalaccount through a network connection with a general purpose computingdevice (e.g. a PC), an entertainment system, another mobile device, andthe like. The association of profiles can take multiple forms. Forexample, the mobile user profile may form the basis of the general userprofile. Alternatively, the elements of a mobile user profile may beadded to an existing general user profile. Conversely, the mobile userprofile may remain separate from, but linked to the general userprofile. Other associations are also possible. If the mobile user is notregistered with the portal service, the mobile user profile may standalone, and be identified by the mobile terminal identifier.

With the mobile user's permission, the portal service tracks browsingactivities, purchasing activities, locations, and other actions of themobile user at an operation 134. For example, the portal service may logcontent that the mobile user requests, web sites that the mobile useraccesses, when the mobile user accesses those sites, and the geographiclocation at which the mobile user accesses those sites. The portalservice may also log indirect information, such as the season of theyear in which the mobile user accesses certain sites, the weatherconditions on days that the mobile user accesses certain sites, and thelike. The portal service may further track the mobile user's onlinepurchases through the mobile terminal and/or through the mobile user'scorresponding portal account with general purpose computing devices.Based on latitude and longitude information, the portal service can alsodetermine and store related information, such as merchants that are nearlocations at which the user frequently uses the mobile terminal. Theportal service may inform those merchants, who may wish to purchase theopportunity to provide advertisements or other content to the mobileuser, especially the next time that the mobile terminal is detected nearthe merchant locations, or around the time that the mobile user isexpected to be near the merchant locations, based on the mobile user'smovement and/or usage habits.

In addition, the portal service may track characteristics of and/orchanges to the mobile terminal. For example, the mobile user maypurchase a different, and/or an additional mobile device. When themobile user accesses the portal service with a new mobile device, theportal service can ask, or otherwise determine, whether the mobile useralready has an existing mobile user profile and/or general user profileto which the new mobile device can be associated. For example, if themobile user uses the same telephone number with a new mobile device(and/or a new mobile carrier), the portal service can access the mobileuser profile associated with that telephone number. The portal servicecan also access a new user agent profile to obtain information about thenew mobile device, and access carrier information associated with thenew mobile device (and/or the new mobile carrier). The new informationcan be added to the existing mobile user profile, or a separate mobileuser profile can be associated with the original mobile user profileand/or a corresponding general user profile.

The mobile user profile may also be changed based on independent testingof the mobile device, information provided in communication headers,analysis of communication performance, and other information. Forexample, the user agent profile may indicate that a particular mobiledevice includes certain capabilities. However, independent testing ofthat mobile device by the portal service and/or other services, mayindicate greater or lesser actual performance of the mobile device.Thus, the mobile user profile can be modified to reflect the testedcapabilities. Also, the mobile profiling module may evaluate the headerof communications between the mobile terminal and the portal service. Asample header is provided in Appendix B. In addition to identifying themake, model, MIN, screen size, and other information about the mobileterminal, the header may indicate, or be used to determine,communication speed, throughput, and/or other communicationcharacteristics. The communication characteristics can be averagedand/or otherwise evaluated to determine such things as the conditions atthose times that the user most often uses the mobile terminal.

Based on the tracked information, the portal service may detect one ormore patterns, habits, characteristics, and/or other information, at anoperation 136. For example, the portal service may note that the mobileuser regularly checks a certain financial web site for a certain set ofcompany stock quotes, while at a certain location every week. The portalservice may note that the mobile user regularly checks the weather andlocal news of a remote city, and sometimes checks flight prices to thatcity. The portal service may further note that the mobile user purchasesa new, high performance mobile device every six months. The portalservice can also determine and store related information, such aspricing information of mobile devices that the user has purchased, thecarrier plans and features to which the user has subscribed, third partyproducts and services purchased by the mobile user for use with theuser's mobile device(s), products and services that are similar productsand services to those the user has purchased, and the like. Inconjunction with the portal service, some or all of the tracking andpattern detection operations can be performed by server software modulesof the portal service and/or a client software module running on themobile terminal.

From the patterns, the portal service can determine weights for elementsof the mobile user profile at an optional operation 138. For example,the portal service may apply higher weights to elements that indicateinterest in financial investments and technical gadgets. The patternsand/or weights can be used at an optional operation 140 to determine oneor more general and/or consumer categories that describe the mobileuser, such as a sophisticated technology user, a socially active person,a job seeker, a family-focused person, a frequent gamer, a bargainhunter, and the like. Indicators of the categories may be stored in themobile user profile. The portal service can then use the patterns,weights, and/or categories to predict and/or prefetch content and/orservices that the mobile user regularly desires and/or that may interestthe mobile user.

FIG. 6 illustrates logic of one embodiment for prefetching content basedon the mobile user profile. The discussion of FIG. 6 generally refers totypes of content requested by the mobile user, but the invention is notso limited. At an operation 150, the portal service uses historyinformation stored in the mobile user profile to determine when periodicchecks for content should be performed. For example, the mobile userprofile may indicate that the mobile user checks a sports news servicefor a certain team on the morning after each game that the team plays.The mobile user profile would indicate a correlation between the sportsnews service, the team, the time of day, the schedule of the team,and/or other relationships. The mobile user profile can be modified toinstruct the portal service to prefetch the current news for that sportsteam each morning after a scheduled game, but a short time before theuser historically requests that sports news. The mobile user profile mayalso indicate that the user usually has to navigate though a number ofweb pages before getting to the desired team news page. In addition toproviding scheduled prefetching, the portal service can add a linkdirectly to the team news page into the mobile user profile, or instructthe mobile terminal to add this link to the mobile user's browserbookmark list, so that the mobile user can avoid the extra navigationsteps.

In addition, or alternatively, the portal service can detect a triggerevent at an operation 152, based on information in the mobile userprofile. For instance, the portal service may detect that the mobileterminal is moving toward a location at which the mobile user frequentlysearches for current movie listings at a couple of nearby theatres. Themobile user profile may further indicate that the user purchases ticketsthrough the mobile terminal from one of the theatres more often thanother theatres. Accordingly, the frequently selected theatre may have ahigher weight associated with it than other theatres. Conversely, theportal service may provide this information to the competing theatres,which may wish to purchase a higher weighting and/or another indicationin the mobile user profile. Other trigger events include detectingcommunication with another user with which the mobile user often soonafter begins playing an online game; detecting alerts associated withthe mobile user's corresponding general user profile; detecting newsevents that may relate to the mobile user's interests as determined fromdata in the mobile user profile; and virtually any other events.

In any case, the portal service can use the information in the mobileuser profile and/or a general user profile to prefetch content at anoperation 154. The prefetched content may be content that is similar tocontent that the mobile user previously requested. For example, theprefetched similar content may be an update of previously requestedcontent, a current version of previously requested content, the exactsame content that was previously requested, content from the samesource, and the like. The prefetching may include performing a databasequery, a web search, an analysis of data, or other backgroundprocessing. The prefetching may also include predicting content that themost likely to be interested in, based on weighting and/or otherinformation in the user's profile(s). For example, if a prefetch isrelated to the mobile user's location, the portal service may search fornearby merchants, restaurants, theatres, pubs, and the like at anoptional operation 156, and prioritize the results based on the user'shistory of content requests while near that location. The prefetchedcontent is cached at an operation 158. The cached content may be storedon servers of the portal service, of the communication carrier, ofservice providers, and/or on the mobile device. For example, prefetchedsports news could be cached for faster access if/when the user requeststhe news.

The prefetched content can then be downloaded to the mobile terminal atan operation 160. The download can be part of the prefetching operationsuch that prefetched content is stored in the mobile terminal. Thiscompensates for latency in communicating over limited-band communicationchannels and provides for very fast access by the mobile user if/whenthe user requests the content. A mobile client software module maycontrol downloading and/or other background processing of the prefetchedcontent to manage limited memory resources of the mobile terminal andfurther minimize the time between the user's request and display of thecontent. If the prefetched content is cached on a server, the prefetchedcontent is generally not downloaded until requested by the mobile user.

In addition to anticipating and caching content that the mobile user islikely to request, the portal service can provide content that the userhas not requested, but is likely to be of interest to the mobile user.FIG. 7 is a flow diagram illustrating exemplary logic for providingnon-requested information to the mobile user. Non-requested informationcan include advertisements, notices of government events, performingarts schedules, and the like. The following embodiment is discussed interms of providing advertisements and/or other consumer information, butthe invention is not so limited.

At an operation 170, the portal service, a marketing service, or otherconsumer service selects consumer related information from the mobileuser profile. For example, the consumer service may select or determinethe type(s) of mobile terminals that the user has purchased and/or afrequency of mobile terminal purchases. The consumer related informationmay also include the carrier(s), service plan features and/or price(s),mobile terminal price(s), and the like. Further consumer information mayinclude the user's history of purchases made through the mobileterminal(s), the location of purchases, the time of purchases, theseason purchases, and the like.

At an optional operation 172, the consumer service may compare theconsumer related information from the mobile user profile with consumerrelated information stored in a general user profile. The general userprofile may be that of the same mobile user, an aggregated model user,or other source. The consumer service can use the comparison todetermine differences in purchasing habits through the mobile terminaland through other means. Differences may also be detected between themobile user and other mobile users.

The information may be used to determine a mobile “consumer” category(or consumer profile) at an operation 174. This may be different from orrelated to the “user” category, or categories, optionally determined atoperation 140 of FIG. 5. For example, a mobile user may be categorizedas a high-tech purchaser, a bargain hunter, a multi-player mobile gamer,a person who frequents night clubs or movies, a live concert patron, afrequent purchaser of outdoor equipment, and the like. To determinemobile consumer categories, a set of rules and/or criteria may beapplied to the data of the mobile user profile.

Based on the determined mobile consumer categories into which aparticular mobile user falls, and/or based on other information in themobile user profile, the consumer service may select content, and afrequency for serving that content, at an operation 176. For example, ahigh-tech purchaser that has purchased a new mobile terminalapproximately every six months may benefit from advertisements for thelatest technology mobile terminals and accessories during the monthbefore the mobile user's usual six-month purchase. As another example, amobile user that frequently purchases movie tickets on Friday nightsduring the summer season may benefit from a listing of current showingson Friday afternoons during summer for theatres that the mobile usertypically attends. The listing of showings may be accompanied by a listof special dinner offers at restaurants near each theatre. The contentmay be prefetched at a particular time on Friday afternoon and/or upon atrigger event, such as the mobile user's search for theatres in anonline directory.

The content may be provided to the user's mobile terminal and/or theuser's PC at differing times and/or in different formats, at anoperation 178. Prefetched content may be cached for download at atrigger event, at a predefined time, and/or upon user request. Some orall of the searching and prefetching may be done the portal serviceand/or by a background client on the mobile terminal. Although theprefetched content may not be directly requested by the user, thecontent may prove very valuable to the mobile user by reducing theamount of individual searching needed or eliminating the need for theuser to initiate a search at all. The non-requested content may alsobenefit the mobile user by prefetching the content to reduce the timeneeded for requesting and downloading the content. A variety of otherbenefits may result.

The above specification, examples, and data provide a completedescription of the manufacture and use of the composition of theinvention. Since many embodiments of the invention can be made withoutdeparting from the spirit and scope of the invention, the inventionresides in the claims hereinafter appended.

APPENDIX A Sample User Agent Profile

APPENDIX A Sample User Agent Profile HardwarePlatform Vendor SAMSUNGModel SPH-A800 CPU ARM9 ScreenSize 240 × 320 ColorCapable YesBitsPerPixel 16 PixelAspectRatio 1 × 1 ImageCapable Yes ScreenSizeChar16 × 9 StandardFontProportional Yes OutputCharSet ISO-8859-1 US-ASCIIUTF-8 UTF-16 UTF-16 InputCharSet ISO-8859-1 US-ASCII UTF-8TextInputCapable Yes Keyboard PhoneKeypad NumberOfSoftKeys 2SoundOutputCapable Yes VoiceInputCapable Yes SoftwarePlatformAcceptDownloadableSoftware Yes DownloadableSoftwareSupportapplication/java-archive SoftwareNumber YB24 OSName Rex OSVendorQUALCOMM OSVersion MSS6100/5.2 JavaEnabled Yes JavaPlatform MIDP-2.0SPRINTPCS-2.0 JVMVersion SunKVM/1.1 CcppAccept text/vnd.wap.wmlapplication/ vnd.wap.wmlc application/xhtml+xml application/vnd.wap.wmlc application/ vnd.wap.wbxml application/ vnd.wap.wmlscriptctext/css image/vnd.wap.wbmp image/jpeg image/png image/gif audio/midiaudio/mp3 audio/vnd.qcelp application/x-pmd video/x-ls-mjpg audio/mp4audio/mp4a-latm video/mp4v-es video/mp4 video/3gpp2 video/3gppaudio/3gpp2 audio/3gpp audio/qcelp audio/amr text/vnd.sun.j2me.app-descriptor text/x-pcs-gcd application/ x-pcs-mcd+xml application/sdpapplication/x-pmd CcppAccept-Charset ISO-8859-1 US-ASCII UTF-8 UTF-16CcppAccept-Language en-us NetworkCharacteristics SecuritySupport SSL-3.0TLS-1.0 SupportedBearers IPv4 BrowserUA BrowserName AU SystemBrowserVersion AU-MIC/2.0 MMP/2.0 FramesCapable No TablesCapable YesPreferenceForFrames No DownloadableBrowserApps No JavaAppletEnabled NoJavaScriptEnabled No XhtmlVersion XHTML-Basic/1.0 WapCharacteristicsWapDeviceClass A WapVersion 2.0 WmlVersion 1.1 1.2 WmlDeckSize 64000PushCharacteristics Push-Accept application/ wml+xmltext/htmlPush-Accept-Encoding base64 quoted-printable Push-Accept-AppID x-wap-application:wml.ua* Push-MsgSize  1400 SprintExtensionsMultimediaPlaybackSupport YES MultimediaStreamingSupport YESMultimediaEncodingSupport YES MultimediaPlayer Qualcomm QTV/4.4.2MultimediaEncoder Qualcomm QCamcorder/1.6 MultimediaEncoderDisplaySize176 × 144 MultimediaFileFormatForDecoder MP4 3gp 3g2 M4A MP3 AACMultimediaFileFormatForEncoder 3g2 3gp MultimediaVideoDisplaySize 176 ×144 128 × 96 MultimediaMaximumFrameRateForPlayback 25 fpsMultimediaMaximumFrameRateForStreaming 15 fpsMultimediaMaximumFrameRateForEncoding 15 fpsMultimediaMaximumBitRateForPlayback 128 kbpsMultimediaMaximumBitRateForStreaming 128 kbpsMultimediaMaximumBitRateForEncoding 100 kbps VideoCodecsForDecodingMPEG-4 Level 0, 1, and Level 2 H.263 Profile 0 and Level 10VideoCodecsForEncoding Mpeg4 Level 0 and 1 AudioCodecsForDecoding QCELPAAC AMR-NB aacPlus AudioCodecsForEncoding QCELP SprintMcdVersion 1.1PictureMailSupport Yes VideoMailSupport Yes MobileOriginatedSmsSupportYes FotaProtocolVersion 1.1 FotaClientVersion 2.0 FotaClientVendorSamsung DiagnosticsProtocolVersion DiagnosticsClientVersionDiagnosticsClientVendor

APPENDIX B Sample Header

APPENDIX B Sample Header Accept===application/vnd.wap.wmlc;Q=0.5,application/vnd.wap.wmlscriptc;Q=0.5, text/html;Q=0.5, text/css,application/xhtml+xml, application/vnd.wap.xhtml+xml,application/vnd.wap.multipart.related,application/vnd.wap.multipart.mixed, multipart/mixed,application/vnd.wap.sic, application/vnd.oma.drm.message,application/vnd.phonecom.mmc-wbxml, application/m otorola- mmstemplate,image/gif, image/bmp, image/vnd.wap.wbmp, image/png, image/jpeg, image/ems.userdefined.picture, image/ems.userdefined.animation,image/ems.predefined.animation, au dio/bas, audio/imelody, audio/mid,audio/midi, audio/mp3, audio/mpeg, audio/mpeg3, audio/mpg, audio/x-mp3,audio/x-mpeg, audio/x-mpeg3, audio/x-mpg, audio/x-wav, audio/wav,audio/amr, audio/3gpp, video/mp4, video/3gpp, application/mtf, appl  Accept===*/*   Cache-Control===max-age=259200  Connection===keep-alive   Content-Language===en-US  Content-Length===0   Cookie===B=2bsapdp13vvpo&b=2&f=mobile;Y=v=1&n=fon3341132k2e&pT=z=0  Host===test.oa.yahoo.com   User-Agent===Y!PHOTOS J2ME MIDP/CLDC1.0MOT-V220 V1.3   Via===1.0 proxy.india.aalayance.com:3128(squid/2.5.STABLE8)   X-Forwarded-For===unknown   y-app-agent===Y!PHOTOSJ2ME MIDP/CLDC1.0 MOT-V220 V1.3   y-build-date===0503031050t  y-client-id===1105590242_14083064621uscingular

What is claimed as new and desired to be protected by Letters Patent ofthe United States is:
 1. A method for providing relevant, non-requestedcontent by a server device to a mobile device, comprising: determining,by the server device, a mobile user profile from characteristics of amobile terminal and from tracked usage of the mobile terminal by a userto request content through an online portal and from mobile consumerinformation communicated to the user with the mobile terminal andthird-party information received through an out-of-band communicationother than the mobile device, wherein the third-party information isbased on a plurality of detected user actions with the mobile device,including actions between third parties and the user; updating, by theserver device, the mobile user profile based on the third-partyinformation and a result of at least one independent test of at leastone provided characteristic of the mobile terminal used by the user andother information that is based on at least one of a communicationheader and an analysis of communication performance for the mobiledevice; determining, by the server device, at least one condition thatthe user most often uses the mobile terminal at one or more times basedon at least one provided characteristic of the mobile terminal and theother information; comparing, by the server device, mobile purchaseinformation from the mobile consumer information for the user to generalconsumer information in a general user profile for the user thatrequests content through the online portal, wherein at least a result ofthe comparison is employed to determine at least one mobile purchasinghabit of the user through the mobile terminal; using the updated mobileuser profile and the at least one determined mobile purchasing habit todetermine, by the server device, non-requested content and to determinea trigger at which to access the non-requested content; andcommunicating, by the server device, the non-requested content to themobile terminal at the determined trigger.
 2. The method of claim 1,further comprising using the general user profile to further determinethe non-requested content, wherein the general user profile includesinformation from tracked usage of an alternate electronic device toaccess content through the online portal, wherein the alternateelectronic device is in communication with the online portal and isassociated with the mobile terminal.
 3. The method of claim 1, whereinthe characteristics of the mobile terminal are determined at least inpart from at least one of the following: a standardized mobile terminalprofile; and independent testing of the mobile terminal.
 4. The methodof claim 1, wherein the online portal provides content related to morethan one topic.
 5. The method of claim 1, wherein the non-requestedcontent comprises at least one of the following: an advertisement; anotice of an event related to the requested content; and content fromthe same source as the requested content.
 6. The method of claim 1,wherein determining the mobile user profile comprises: accessing apredefined mobile terminal profile that describes the characteristics ofthe mobile terminal; determining a pattern of mobile usage from thetracked usage of the mobile terminal by the user to access content; andassociating the mobile terminal profile with the pattern.
 7. The methodof claim 6, wherein the pattern comprises a purchasing pattern.
 8. Themethod of claim 1, wherein using the mobile user profile comprises:accessing the mobile user profile for usage information including atleast one of the following: a time that the mobile terminal accessed therequested content; a location from which the mobile terminal accessedthe requested content; and a frequency with which the mobile terminalaccessed the requested content; and searching for content that isrelated to the requested content and the usage information.
 9. Themethod of claim 1, wherein the mobile user profile includescharacteristics of a previously used mobile terminal associated with theuser.
 10. The method of claim 1, wherein the trigger comprises at leastone of the following: detecting that the mobile terminal is near alocation at which the mobile terminal previously accessed the requestedcontent; detecting a time near which the mobile terminal previouslyaccessed the requested content; and detecting a communication from themobile terminal that is substantially equivalent to a previouscommunication that was followed by the mobile terminal accessing therequested content.
 11. A non-transitory computer readable storagemedium, comprising instructions executed by a processor for performingactions to provide relevant, non-requested content to a mobile device,including: determining, by the processor, a mobile user profile fromcharacteristics of a mobile terminal and from tracked usage of themobile terminal by a user to request content through an online portaland from mobile consumer information communicated to the user with themobile terminal and third-party information received through anout-of-band communication other than the mobile device, wherein thethird-party information is based on a plurality of detected user actionswith the mobile device, including actions between third parties and theuser; updating, by the processor, the mobile user profile based on thethird-party information and a result of at least one independent test ofat least one provided characteristic of the mobile terminal used by theuser and other information that is based on at least one of acommunication header and an analysis of communication performance forthe mobile device; determining, by the processor, at least one conditionthat the user most often uses the mobile terminal at one or more timesbased on at least one provided characteristic of the mobile terminal andthe other information; comparing, by the processor, mobile purchaseinformation from the mobile consumer information for the user to generalconsumer information in a general user profile for the user thatrequests content through the online portal, wherein at least a result ofthe comparison is employed to determine at least one mobile purchasinghabit of the user through the mobile terminal; using the updated mobileuser profile and the at least one determined mobile purchasing habit todetermine, by the processor, non-requested content and to determine atrigger at which to access the non-requested content; and communicating,by the processor, the non-requested content to the mobile terminal atthe determined trigger.
 12. A non-transitory computer readable storagemedium comprising instructions executed by a processor for communicatingcontent over a network, which when executed cause a computing device to:determine, by the processor, a mobile user profile from characteristicsof a mobile terminal and from tracked usage of the mobile terminal by auser to request content through an online portal and from mobileconsumer information communicated to the user with the mobile terminaland third-party information received through an out-of-bandcommunication other than the mobile device, wherein the third-partyinformation is based on a plurality of detected user actions with themobile device, including actions between third parties and the user;update, by the processor, the mobile user profile based on thethird-party information and a result of at least one independent test ofat least one provided characteristic of the mobile terminal used by theuser and other information that is based on at least one of acommunication header and an analysis of communication performance forthe mobile device; determine, by the processor, at least one conditionthat the user most often uses the mobile terminal at one or more timesbased on at least one provided characteristic of the mobile terminal andthe other information; compare, by the processor, mobile purchaseinformation from the mobile consumer information for the user to generalconsumer information in a general user profile for the user thatrequests content through the online portal, wherein at least a result ofthe comparison is employed to determine at least one mobile purchasinghabit of the user through the mobile terminal; use the updated mobileuser profile and the at least one determined mobile purchasing habit todetermine, by the processor, non-requested content, to determine afrequency for communicating the non-requested content to the mobileterminal, and to determine a trigger at which to access thenon-requested content; and communicate, by the processor, thenon-requested content to the mobile terminal at the determined triggerand at the determined frequency.
 13. A system for providing relevant,non-requested content to a mobile device, comprising: a processor; acommunication interface in communication with the processor and a mobileterminal; and a memory in communication with the processor and storingmachine instructions that cause the processor to perform a plurality ofoperations, including: determining a mobile user profile fromcharacteristics of a mobile terminal and from tracked usage of themobile terminal by a user to request content through an online portaland from mobile consumer information communicated to the user with themobile terminal and third-party information received through anout-of-band communication other than the mobile device, wherein thethird-party information is based on a plurality of detected user actionswith the mobile device, including actions between third parties and theuser; updating the mobile user profile based on the third-partyinformation and a result of at least one independent test of at leastone provided characteristic of the mobile terminal used by the user andother information that is based on at least one of a communicationheader and an analysis of communication performance for the mobiledevice; determining at least one condition that the user most often usesthe mobile terminal at one or more times based on at least one providedcharacteristic of the mobile terminal and the other information;comparing mobile purchase information from the mobile consumerinformation for the user to general consumer information in a generaluser profile for the user that requests content through the onlineportal, wherein at least a result of the comparison in employed todetermine at least one mobile purchasing habit of the user through themobile terminal; using the updated mobile user profile and the at leastone determined mobile purchasing habit to determine non-requestedcontent and to determine a trigger at which to access the non-requestedcontent; and communicating the non-requested content to the mobileterminal at the determined trigger.
 14. The system of claim 13, whereinthe system comprises an online portal server.
 15. The system of claim13, wherein the machine instructions cause the processor to furtherperform the operation of using the general user profile to furtherdetermine the non-requested content, wherein the general user profileincludes information from tracked usage of an alternate electronicdevice to access content through the system, wherein the alternateelectronic device is in communication with the communication interfaceand is associated with the mobile terminal.
 16. The system of claim 13,wherein the machine instructions cause the processor to determine themobile user profile by further performing the operations of: accessing apredefined mobile terminal profile that describes the characteristics ofthe mobile terminal, determining a pattern of mobile usage from thetracked usage of the mobile terminal by the user to access content; andassociating the mobile terminal profile with the pattern.
 17. The systemof claim 13, wherein the machine instructions cause the processor to usethe mobile user profile by further performing the operations of:accessing the mobile user profile for usage information including atleast one of the following: a time that the mobile terminal accessed therequested content; a location from which the mobile terminal accessedthe requested content; and a frequency with which the mobile terminalaccessed the requested content; and searching for non-requested contentthat is related to the requested content and the usage information. 18.The system of claim 13, wherein the mobile user profile includescharacteristics of a previously used mobile terminal associated with theuser.
 19. A mobile device for receiving non-requested content,comprising: a processor; a communication interface in communication withthe processor and an online portal; and a memory in communication withthe processor and storing machine instructions that cause the processorto perform a plurality of operations, including: communicating anidentifier of a mobile terminal to the online portal to enable theonline portal to initiate a mobile user profile from characteristics ofthe mobile terminal and from mobile consumer information communicated toa user with the mobile terminal and third-party information receivedthrough an out-of-band communication other than the mobile device,wherein the third-party information is based on a plurality of detecteduser actions with the mobile device, including actions between thirdparties and the user; updating the mobile user profile based on thethird-party information and a result of at least one independent test ofat least one provided characteristic of the mobile terminal used by theuser and other information that is based on at least one of acommunication header and an analysis of communication performance forthe mobile device; determining at least one condition that the user mostoften uses the mobile terminal at one or more times based on at leastone provided characteristic of the mobile terminal and the otherinformation; requesting content through the online portal, enabling theonline portal to track requested content and revise the mobile userprofile based on the requested content; receiving non-requested contentfrom the online portal, wherein the non-requested content is related tothe requested content and the non-requested content is determined basedon the updated mobile user profile, wherein the non-requested content isreceived upon a trigger related to the requested content, and whereinthe non-requested content is further based on at least one mobilepurchasing habit of the user through the mobile terminal, determinedbased at least on a result of a comparison of mobile purchaseinformation from the mobile consumer information for the user to generalconsumer information in a general user profile for the user thatrequests content through the online portal.
 20. The mobile device ofclaim 19, wherein the mobile terminal comprises a second mobile terminalassociated with the mobile user profile and the mobile user profileincludes characteristics of a previously used mobile terminal associatedwith the user.